const router=require('koa-router')();
const wechatUtil=require('../../util/wechatUtil');
router.prefix('/api/wx/user');


/**
 * @api {post} /api/wx/user/getOpenId 获取小程序Openid
 * @apiName getOpenId
 * @apiGroup user
 *
 * @apiParam {String} code 微信code 临时登录凭证.
 *
 * @apiSuccess {int} code 返回状态码（1：获取成功，2：获取失败，3：服务器出错，4：参数不全）
 * @apiSuccess {String} msg 返回状态码对应的信息
 * @apiSuccess {String} openid 返回openid值
 * @apiSuccess {String} session_key 返回session_key值
 *
 */
router.post('/getOpenId',async(ctx)=>{
    try{
        let data=ctx.request.body;
        if(!data.code){
            ctx.body={code:4,msg:'参数不全'};
            return;
        }
        //临时登录凭证code换取用户唯一标识openid和会话秘钥session_key
        let result=await wechatUtil.wechatCode(data.code);
        if(!result.openid||!result.session_key){
            ctx.body={code:2,msg:'获取失败。'+result.errmsg};
            return;
        }
        result.code=1;
        result.msg='获取成功';
        ctx.body=result;
    }catch (e){
        if(!e.code){
            ctx.body={code:3,msg:e.message};
        }else{
            ctx.body=e;
        }
    }
});

module.exports=router;